Neural networks are machine-learning models that employ multiple layers of operations to predict one or more outputs from one or more inputs. Neural networks typically include one or more hidden layers situated between an input layer and an output layer. The output of each layer is used as input to another layer in the network, e.g., the next hidden layer or the output layer.
Each layer of a neural network specifies one or more transformation operations to be performed on input to the layer. The transformation operations can be characterized by values of internal parameters of the neural network. Some neural network layers have operations that are referred to as neurons. Each neuron receives one or more inputs and generates an output that is received by another neural network layer. Often, each neuron receives inputs from other neurons, and each neuron provides an output to one or more other neurons.
An architecture of a neural network specifies what layers are included in the network and their properties, as well as how the neurons of each layer of the network are connected. In other words, the architecture may specify which layers provide their output as input to which other layers and how the output is provided.
In general, the transformation operations of each layer of a neural network are performed by one or more computers at one or more locations that are configured to implement the transformation operations. Thus, a layer being described as performing operations means that the computers implementing the transformation operations of the layer perform the operations.
Neural networks have been trained to perform a range of tasks related to, e.g., speech recognition, language translation, and natural language prediction.